--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
tests/backend/test_memory_preflight.py v4.7.0-rc.4 (448cd46c) Text, 2.61 KB
T8b949e# SPDX-License-Identifier: 0BSD
Tff7b72from T7ee787unittestT7ee787.T7ee787mock Tff7b72import Te6edf3MagicMockTb4b4b4, Te6edf3patch
Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787recoveryT7ee787.T7ee787memory_preflight Tff7b72import Tb4b4b4(
Te6edf3evaluate_startup_memoryTb4b4b4,
Te6edf3format_memory_log_lineTb4b4b4,
Te6edf3parse_memory_log_lineTb4b4b4,
Tb4b4b4)
Tff7b72def Td2a8ff_mock_memoryTb4b4b4(Te6edf3total_mbTb4b4b4, Te6edf3available_mbTb4b4b4, Te6edf3percentTb4b4b4)Tb4b4b4:
Te6edf3mem Tff7b72= Te6edf3MagicMockTb4b4b4(Tb4b4b4)
Te6edf3memTff7b72.Td2a8fftotal Tff7b72= Tffa657intTb4b4b4(Te6edf3total_mb Tff7b72* T79c0ff1024Tff7b72*Tff7b72*T79c0ff2Tb4b4b4)
Te6edf3memTff7b72.Td2a8ffavailable Tff7b72= Tffa657intTb4b4b4(Te6edf3available_mb Tff7b72* T79c0ff1024Tff7b72*Tff7b72*T79c0ff2Tb4b4b4)
Te6edf3memTff7b72.Td2a8ffpercent Tff7b72= Te6edf3percent
Tff7b72return Te6edf3mem
Tff7b72def Td2a8fftest_evaluate_startup_memory_okTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72with Te6edf3patchTb4b4b4(
Ta5d6ff"Ta5d6ffmeshchatx.src.backend.recovery.memory_preflight.psutil.virtual_memoryTa5d6ff"Tb4b4b4,
Te6edf3return_valueTff7b72=Te6edf3_mock_memoryTb4b4b4(T79c0ff16384Tb4b4b4, T79c0ff8192Tb4b4b4, T79c0ff50Tb4b4b4)Tb4b4b4,
Tb4b4b4)Tb4b4b4:
Te6edf3result Tff7b72= Te6edf3evaluate_startup_memoryTb4b4b4(Te6edf3emergencyTff7b72=Tff7b72FalseTb4b4b4)
Tff7b72assert Te6edf3resultTb4b4b4[Ta5d6ff"Ta5d6ffactionTa5d6ff"Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ffokTa5d6ff"
Tff7b72assert Te6edf3resultTb4b4b4[Ta5d6ff"Ta5d6fflow_memoryTa5d6ff"Tb4b4b4] Tff7b72is Tff7b72False
Tff7b72def Td2a8fftest_evaluate_startup_memory_warn_on_low_totalTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72with Te6edf3patchTb4b4b4(
Ta5d6ff"Ta5d6ffmeshchatx.src.backend.recovery.memory_preflight.psutil.virtual_memoryTa5d6ff"Tb4b4b4,
Te6edf3return_valueTff7b72=Te6edf3_mock_memoryTb4b4b4(T79c0ff4096Tb4b4b4, T79c0ff900Tb4b4b4, T79c0ff78Tb4b4b4)Tb4b4b4,
Tb4b4b4)Tb4b4b4:
Te6edf3result Tff7b72= Te6edf3evaluate_startup_memoryTb4b4b4(Te6edf3emergencyTff7b72=Tff7b72FalseTb4b4b4)
Tff7b72assert Te6edf3resultTb4b4b4[Ta5d6ff"Ta5d6ffactionTa5d6ff"Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ffwarnTa5d6ff"
Tff7b72assert Te6edf3resultTb4b4b4[Ta5d6ff"Ta5d6fflow_memoryTa5d6ff"Tb4b4b4] Tff7b72is Tff7b72True
Tff7b72def Td2a8fftest_evaluate_startup_memory_critical_warnTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72with Te6edf3patchTb4b4b4(
Ta5d6ff"Ta5d6ffmeshchatx.src.backend.recovery.memory_preflight.psutil.virtual_memoryTa5d6ff"Tb4b4b4,
Te6edf3return_valueTff7b72=Te6edf3_mock_memoryTb4b4b4(T79c0ff4096Tb4b4b4, T79c0ff320Tb4b4b4, T79c0ff92Tb4b4b4)Tb4b4b4,
Tb4b4b4)Tb4b4b4:
Te6edf3result Tff7b72= Te6edf3evaluate_startup_memoryTb4b4b4(Te6edf3emergencyTff7b72=Tff7b72FalseTb4b4b4)
Tff7b72assert Te6edf3resultTb4b4b4[Ta5d6ff"Ta5d6ffactionTa5d6ff"Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ffwarnTa5d6ff"
Tff7b72assert Ta5d6ff"Ta5d6ffstrongly recommendedTa5d6ff" Tff7b72in Te6edf3resultTb4b4b4[Ta5d6ff"Ta5d6ffmessageTa5d6ff"Tb4b4b4]
Tff7b72def Td2a8fftest_evaluate_startup_memory_abortTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72with Te6edf3patchTb4b4b4(
Ta5d6ff"Ta5d6ffmeshchatx.src.backend.recovery.memory_preflight.psutil.virtual_memoryTa5d6ff"Tb4b4b4,
Te6edf3return_valueTff7b72=Te6edf3_mock_memoryTb4b4b4(T79c0ff4096Tb4b4b4, T79c0ff120Tb4b4b4, T79c0ff97Tb4b4b4)Tb4b4b4,
Tb4b4b4)Tb4b4b4:
Te6edf3result Tff7b72= Te6edf3evaluate_startup_memoryTb4b4b4(Te6edf3emergencyTff7b72=Tff7b72FalseTb4b4b4)
Tff7b72assert Te6edf3resultTb4b4b4[Ta5d6ff"Ta5d6ffactionTa5d6ff"Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ffabortTa5d6ff"
Tff7b72def Td2a8fftest_evaluate_startup_memory_already_in_emergencyTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72with Te6edf3patchTb4b4b4(
Ta5d6ff"Ta5d6ffmeshchatx.src.backend.recovery.memory_preflight.psutil.virtual_memoryTa5d6ff"Tb4b4b4,
Te6edf3return_valueTff7b72=Te6edf3_mock_memoryTb4b4b4(T79c0ff4096Tb4b4b4, T79c0ff320Tb4b4b4, T79c0ff92Tb4b4b4)Tb4b4b4,
Tb4b4b4)Tb4b4b4:
Te6edf3result Tff7b72= Te6edf3evaluate_startup_memoryTb4b4b4(Te6edf3emergencyTff7b72=Tff7b72TrueTb4b4b4)
Tff7b72assert Te6edf3resultTb4b4b4[Ta5d6ff"Ta5d6ffactionTa5d6ff"Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ffwarnTa5d6ff"
Tff7b72assert Te6edf3resultTb4b4b4[Ta5d6ff"Ta5d6ffemergency_requestedTa5d6ff"Tb4b4b4] Tff7b72is Tff7b72True
Tff7b72def Td2a8fftest_format_and_parse_memory_log_lineTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3result Tff7b72= Tb4b4b4{
Ta5d6ff"Ta5d6fftotal_mbTa5d6ff"Tb4b4b4: T79c0ff4096.0Tb4b4b4,
Ta5d6ff"Ta5d6ffavailable_mbTa5d6ff"Tb4b4b4: T79c0ff512.5Tb4b4b4,
Ta5d6ff"Ta5d6ffpercent_usedTa5d6ff"Tb4b4b4: T79c0ff87.5Tb4b4b4,
Ta5d6ff"Ta5d6ffactionTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffwarnTa5d6ff"Tb4b4b4,
Ta5d6ff"Ta5d6ffemergency_requestedTa5d6ff"Tb4b4b4: Tff7b72FalseTb4b4b4,
Tb4b4b4}
Te6edf3line Tff7b72= Te6edf3format_memory_log_lineTb4b4b4(Te6edf3resultTb4b4b4)
Tff7b72assert Te6edf3lineTff7b72.Td2a8ffstartswithTb4b4b4(Ta5d6ff"Ta5d6ffMESHCHAT_MEMORY:Ta5d6ff"Tb4b4b4)
Te6edf3parsed Tff7b72= Te6edf3parse_memory_log_lineTb4b4b4(Ta5d6fffTa5d6ff"Ta5d6ffbootingTffea00\nTffd700{Te6edf3lineTffd700}Tffea00\nTa5d6ff"Tb4b4b4)
Tff7b72assert Te6edf3parsedTb4b4b4[Ta5d6ff"Ta5d6ffavailable_mbTa5d6ff"Tb4b4b4] Tff7b72== T79c0ff512.5
Tff7b72assert Te6edf3parsedTb4b4b4[Ta5d6ff"Ta5d6ffactionTa5d6ff"Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ffwarnTa5d6ff"
Tff7b72assert Te6edf3parsedTb4b4b4[Ta5d6ff"Ta5d6ffemergencyTa5d6ff"Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6fffalseTa5d6ff"
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────